Selection Sort Görselleştirme

Hız:
Karşılaştırma: 0
Yer Değiştirme: 0
Süre:

Selection Sort Nedir?

Selection Sort (Seçmeli Sıralama), dizi içerisindeki en küçük (veya en büyük) elemanı bulup, dizinin başına (veya sonuna) yerleştirme prensibine dayanan basit bir sıralama algoritmasıdır.

Nasıl Çalışır?

Algoritma, veri dizisini iki bölüme ayırır:

Her adımda:

  1. Sıralanmamış bölümdeki en küçük elemanı bulur.
  2. Bu elemanı, sıralanmamış bölümün ilk elemanı ile değiştirir.
  3. Sıralanmış bölümün sınırını bir sağa kaydırır.
  4. Bu işlemi, tüm dizi sıralanana kadar tekrarlar.

Selection Sort Algoritması

function selectionSort(array) { const n = array.length; for (let i = 0; i < n - 1; i++) { // En küçük elemanın indeksini bul let minIndex = i; for (let j = i + 1; j < n; j++) { // Eğer daha küçük bir eleman bulunursa if (array[j] < array[minIndex]) { minIndex = j; } } // Eğer en küçük eleman şu anki eleman değilse, yer değiştir if (minIndex !== i) { [array[i], array[minIndex]] = [array[minIndex], array[i]]; } } return array; }

Kararlılık (Stability)

Selection Sort, kararsız bir sıralama algoritmasıdır. Bu, aynı değere sahip elemanların sıralamadan önce ve sonra aynı göreceli sırada kalmayabileceği anlamına gelir.

Örneğin, aşağıdaki dizide, aynı değere sahip iki 5 elemanı (5A ve 5B olarak gösterilen) vardır:

[5A, 3, 5B, 1, 2]

Selection Sort sonrası dizi şu şekilde olabilir: [1, 2, 3, 5B, 5A]

Görüldüğü gibi 5A ve 5B'nin sırası değişmiştir.

Zaman ve Uzay Karmaşıklığı

Zaman Karmaşıklığı:

Uzay Karmaşıklığı: O(1) - Sabit ek alan kullanır

Avantajları ve Dezavantajları

Avantajları:

Dezavantajları:

Kullanım Alanları

Selection Sort, şu durumlarda tercih edilebilir: